var prefix = '/sys/role/';

$(function(){load()})
var load = function(){
    // 加载表格
    $('#roleTable').bootstrapTable({
        method : 'get', // 服务器数据的请求方式 get or post
        url : prefix + "/list", // 服务器数据的加载地址
        striped : true, // 设置为true会有隔行变色效果
        dataType : "json", // 服务器返回的数据类型
        pagination : true, // 设置为true会在底部显示分页条
        // queryParamsType : "limit",
        // //设置为limit则会发送符合RESTFull格式的参数
        singleSelect : false, // 设置为true将禁止多选
        iconSize : 'outline',
        toolbar : '#exampleToolbar',
        // contentType : "application/x-www-form-urlencoded",
        // //发送到服务器的数据编码类型
        pageSize : 10, // 如果设置了分页，每页数据条数
        pageNumber : 1, // 如果设置了分布，首页页码
        search : true, // 是否显示搜索框++
        showColumns : true, // 是否显示内容下拉框（选择显示的列）
        sidePagination : "client", // 设置在哪里进行分页，可选值为"client" 或者
        // "server"
        // queryParams : queryParams,
        // //请求服务器数据时，你可以通过重写参数的方式添加一些额外的参数，例如 toolbar 中的参数 如果
        // queryParamsType = 'limit' ,返回参数必须包含
        // limit, offset, search, sort, order 否则, 需要包含:
        // pageSize, pageNumber, searchText, sortName,
        // sortOrder.
        // 返回false将会终止请求
        columns : [//   // 数据类型，详细参数配置参见文档http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/
            {
                checkbox:true
            },
            {
                title:'序号',
                formatter:function(val,row,index){
                    return index+1;
                }
            },
            {
                field:'roleName',
                title:'角色'
            },
            {
                field:'remark',
                title:'备注'
            },
            {
                field:'roleId',
                title:'操作',
                formatter:function(val,row,index){
                    var e = '<a class="btn btn-primary btn-sm" href="#" mce_href="#" title="编辑" onclick="edit(\''
                        + val
                        + '\')"><i class="fa fa-edit"></i></a> ';
                    var d = '<a class="btn btn-warning btn-sm" href="#" title="删除"  mce_href="#" onclick="remove(\''
                        + val
                        + '\')"><i class="fa fa-remove"></i></a> ';
                    return e+d;
                }
            }
        ]
    })
}
function reLoad(){
    $('#roleTable').bootstrapTable('refresh');
}
// 添加角色
function add(){
    layer.open({
        type: 2,
        title: '添加角色',
        shadeClose: true,
        shade: false,
        maxmin: true, //开启最大化最小化按钮
        area: ['893px', '600px'],
        content: prefix+'add'
    });
}
function edit(roleId){
    layer.open({
        type: 2,
        title: '编辑角色',
        shadeClose: true,
        shade: false,
        maxmin: true, //开启最大化最小化按钮
        area: ['893px', '600px'],
        content: prefix+'edit/'+ roleId
    });
}
function remove(roleId){
    //根据角色ID 删除
    layer.confirm('确定删除该角色吗?',{btn:['确定','取消']},function(){
        $.ajax({
            url:prefix+'delete',
            data:{id:roleId},
            type:'post',
            success:function (result) {
                if(result.code=='0'){
                    reLoad();
                    layer.msg('删除角色成功',{icon:1});
                }else {
                    layer.msg(result.msg,{icon:2});
                }
            }
        })
    });
}
// 执行批量删除
function batchRemove(){
    // 获取所选数据
    var rows = $('#roleTable').bootstrapTable('getSelections');
    if(rows.length == 0){
        layer.msg('请选择要删除的数据',{icon:2});
        return;
    }
    layer.confirm('是否确定要删除所选的[ '+rows.length+' ]条数据',{btn:['确定','取消']},function(){
        var roleIds = new Array();
        $.each(rows,function(index,item){
            roleIds.push(item.roleId);
        })
        $.ajax({
            url:prefix+'batchDel',
            data:{roleIds:roleIds},
            type:'post',
            // traditional: true,//这里设置为true
            success:function(result){
                if(result.code=='0'){
                    layer.msg('删除成功',{icon:1});
                    reLoad();
                }else {
                    layer.msg(result.msg,{icon:2});
                }
            }
        })
    })
}